import java.util.*;


public class RutaLista{
	int maxIndex;
	int actualIndex;
	int[] ruta;
	int cont = 0;

	static private Random generador = new Random();

	public RutaLista(int numPlanetas){
		maxIndex=numPlanetas;
		ruta=new int[maxIndex];
		for(int i=0;i<maxIndex;i++)
			ruta[i]=i;

		int indiceUltimo=maxIndex-1;
		for(int i=1; i < maxIndex-1; i++){
			int indiceElegido=generador.nextInt(indiceUltimo) + 1;
			cont++;
			int aux=ruta[indiceUltimo];
			ruta[indiceUltimo]=ruta[indiceElegido];
			ruta[indiceElegido]=aux;
			indiceUltimo--;
		}
		actualIndex=0;
	}

	public int nextDest(){
		actualIndex++;
		return ruta[actualIndex-1];
	}

	public boolean endOfRoute(){
		return actualIndex==maxIndex;
	}
	public int getCont(){
		return cont;
	}

}
